// Used to store that is shared between the functions/chapters of a mission.

//#define __FORCE_TRACE__
//#define __FORCE_DEBUG__
//#define __FORCE_INFO__
#define THIS_FILE "management\fn_getMissionVar.sqf"
#include <tmf_constants.h>
#include <tmf_macros.h>


TRACE_1("Start",_this);
TMFPROFILERSTART;

private ["_key","_default","_instance_id","_result","_variables","_name"];
DEFAULT_PARAM(_instance_id,0,TMF_SERVER_INSTANCE_ID);
DEFAULT_PARAM(_key,1,"");
DEFAULT_PARAM(_default,2,nil);
if (_instance_id == "") then { _instance_id = TMF_SERVER_INSTANCE_ID };
_result = _default;
if (_key != "") then {
	_name = format [QGVAR(MISSION_VARIABLES_%1),_instance_id];
	if !(isNil _name) then {
		_variables = missionNameSpace getVariable _name;
		_result = [_variables,_key,VALORNIL(_default),THIS_FILE] call FFUNC(hashGet);
	};
};
TRACE_1("End",_result);
TMFPROFILERSTOP;
_result;